#define _CRT_SECURE_NO_WARNINGS 1




//#include <stdio.h>
//
//size_t my_strlen(const char* str)
//{
//	int count = 0;
//
//	while (*str)
//	{
//		count++;
//		str++;
//	}
//
//	return count;
//}
//
//int main()
//{
//	size_t len = my_strlen("abcdef");
//	printf("%u\n", len);
//
//	return 0;
//}





//#include <stdio.h>
//#include <assert.h>
//
//char* my_strcpy(char* dest, const char* src)
//{
//	char* ret = dest;
//	assert(dest && src);
//
//	while (*dest++ = *src++)
//	{
//		;
//	}
//
//	return ret;
//}
//
//int main()
//{
//	char arr1[20] = "abcdef";
//	char arr2[] = "hello";
//	my_strcpy(arr1, arr2);
//	printf("%s\n", arr1);
//
//	return 0;
//}




//#include <stdio.h>
//#include <assert.h>
//
//int my_strcmp(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	
//	while (*str1 == *str2)
//	{
//		if ('\0' == *str1)
//		{
//			return 0;
//		}
//
//		str1++;
//		str2++;
//	}
//
//	return *str1 - *str2;
//}
//
//int main()
//{
//	int ret = my_strcmp("abcdef", "abq");
//	printf("%d\n", ret);
//
//	return 0;
//}




//#include <stdio.h>
//#include <assert.h>
//
//char* my_strcat(char* dest, const char* src)
//{
//	assert(dest && src);
//	char* ret = dest;
//
//	while (*dest)
//	{
//		dest++;
//	}
//
//	while (*dest++ = *src++)
//	{
//		;
//	}
//
//	return ret;
//}
//
//int main()
//{
//	char arr1[20] = "hello ";
//	char arr2[] = "world";
//	my_strcat(arr1, arr2);
//	printf("%s\n", arr1);
//
//	return 0;
//}




#include <stdio.h>

char* my_strstr(const char* str1, const char* str2)
{	
	char* cp = str1;
	char* s1 = NULL;
	char* s2 = NULL;

	while (*cp)
	{
		s1 = cp;
		s2 = str2;

		while (*s1 && *s2 && *s1 == *s2)
		{
			s1++;
			s2++;
		}

		if ('\0' == *s2)
		{
			return cp;
		}

		cp++;
	}

	return NULL;
}

int main()
{
	char arr1[20] = "abbbcdef";
	char arr2[] = "bbc";
	char* ret = my_strstr(arr1, arr2);
	
	if (ret != NULL)
	{
		printf("%s\n", ret);
	}
	else
	{
		printf("找不到\n");
	}

	return 0;
}